<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- prototype是一个隐藏属性，于是为每个对象提供一个叫做__proto__的属性 
        **对象的__proto__与创建它的构造函数的prototype本质上是同一个东西
        **__proto__是对象的属性，站在对象的角度来讨论原型
        **prototype是构造函数的属性，站在构造函数的角度讨论其原型
    
    -->
    <script>
        function Student(a){
            this.name='a'
            this.show=function(){
                console.log('我是'+this.name);
            }
        }
        Student.prototype.say=function(){
            console.log('hahaha');
        }
        Student.prototype.class=5
        //prototype是构造函数的属性原型，站在构造函数的角度讨论其原型
        //__proto__是对象的属性，站在对象的角度来讨论原型
        var stu=new Student
        console.log(Student.prototype);
        console.log(stu.__proto__);
        //由于__proto__是非标准属性（私有），一般不建议使用
    </script>
</head>
<body>
    
</body>
</html>